package com.fansl.allround.ucenter.api.feign.fallback;

import com.fansl.allround.common.core.bean.UserInfo;
import com.fansl.allround.common.core.constant.enums.OauthTypeEnum;
import com.fansl.allround.ucenter.api.dto.BindSocialInfoDTO;
import com.fansl.allround.ucenter.api.entity.UcenterUser;
import com.fansl.allround.ucenter.api.feign.RemoteUcenterUserService;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @author fansl
 * @Description: TODO
 * @date 2019/9/25 11:09
 */
@Slf4j
@Component
public class RemoteUcenterUserServiceFallbackImpl implements RemoteUcenterUserService {
    @Setter
    private Throwable cause;

    /**
     * 获取用户中心信息
     * @param oauthName 认证信息
     * @param oauthType 认证类型
     * @param from 内部访问的标志
     * @return
     */
    @Override
    public UserInfo info(String oauthName, OauthTypeEnum oauthType, String from) {
        log.error("feign 获取用户信息 失败", cause);
        return null;
    }

    /**
     * 创建用户信息（带认证信息）
     *
     * @param ucenterUser 用户信息
     * @param oauthValue  认证信息
     * @param oauthType   认证类型
     * @param from        内部访问的标志
     * @return
     */
    @Override
    public UserInfo create(UcenterUser ucenterUser, String oauthValue, OauthTypeEnum oauthType, String from) {
        log.error("feign 创建用户信息 失败", cause);
        return null;
    }

    /**
     * 根据用户Id获取用户信息
     * @param userId 用户Id
     * @param from 内部访问的标志
     * @return
     */
    @Override
    public UserInfo getByUserId(String userId, String from) {
        log.error("feign 根据用户Id获取用户信息 失败", cause);
        return null;
    }

    /**
     * 绑定用户社交信息
     *
     * @param bindSocialInfo
     * @param from
     * @return
     */
    @Override
    public Boolean bindSocialUser(BindSocialInfoDTO bindSocialInfo, String from) {
        log.error("feign 绑定用户社交信息 失败",cause);
        return null;
    }
}
